Services for which information is distributed through a communication network may be referred to as network services. “Web services” are an example of network services, and represent the next generation of technology being used for automatically exchanging information between different applications over the public Internet and many private networks. Web services provide a framework for building web-based distributed applications, and can provide efficient and effective automated machine-to-machine communications.
From a technology point of view, web services are network accessible functions that can be accessed using standard Internet protocols such as HyperText Transfer Protocol (HTTP), extensible Markup Language (XML), Simple Object Access Protocol (SOAP), etc., over standard interfaces.
The real power of web services technology is in its simplicity. The core technology only addresses the common language and communication issues and does not directly address the onerous task of application integration. Web services can be viewed as a sophisticated machine-to-machine Remote Procedure Call (RPC) technology for interconnecting multiple heterogeneous untrusted systems. Web services take the best of many new technologies by utilizing XML technology for data conversion/transparency and Internet standards such as HTTP and Simple Mail Transfer Protocol (SMTP) for message transport.
One of the primary drivers behind the development and standardization of web services is the ability to facilitate seamless machine-to-machine application-level communications by providing a loose coupling between disparate applications. Such a loose coupling of applications allows applications on different servers to interoperate without requiring a static, inflexible interface between them. Applications using very different technologies can interoperate using standard web services protocols.
A significant problem faced by network and application administrators in respect of network services, or more generally network applications by which network services are exposed to users, is the ability to monitor the actual operational status of network services. Such monitoring may be important for such purposes as Service Level Agreement (SLA) verification, network debugging, billing, etc. However, no standards currently exist for SOAP web service liveliness monitoring, or more generally for network service operational status monitoring.
Background information on SOAP-XML for web services can be found, for example, in U.S. Pat. No. 6,941,306, issued Sep. 6, 2005, and entitled “METHOD AND SYSTEM FOR ACCESSING DATA BY USING SOAP-XML”.
United States Patent Application Publication No. 2006/0004777, published Jan. 5, 2006, and entitled “SYSTEM AND METHODS FOR PROVIDING A DECLARATIVE SYNTAX FOR SPECIFYING SOAP-BASED WEB SERVICES” describes a system and methods that make compile-time declarative modeling available for SOAP-based data transmission(s) to minimize the amount of coding required of a developer. Underlying details regarding the SOAP protocol, dispatching to the appropriate object and function, marshaling and un-marshaling of XML and generating the SOAP response are hidden from the developer when implementing SOAP-based Web services. The task of creating a SOAP-based web service is thus greatly simplified by reducing the number and complexity of considerations required of the developer when generating SOAP-based Web services. This patent application publication also provides information on the cause and handling of “SOAP:mustUnderstand” message fault conditions.
One form of service monitoring is described in United States Patent Application Publication No. 2004/0111506, published Jun. 10, 2004, and entitled “SYSTEM AND METHOD FOR MANAGING WEB UTILITY SERVICES”. A performance management system and method for cluster-based web services involve a gateway for receiving a user request, assigning the user request to a class, queuing the user request based on the class, and dispatching the user request to one of a plurality of server resources based on the assigned class and control parameters. The control parameters are continuously updated by a global resource manager which tracks and evaluates system performance. This solution, however, does not provide per-service indications of service operational status.
A utility that can be used to elicit a small and simple response from a web service host is currently available, but requires an echo-web service at the server side. This type of approach for web service monitoring is thus only feasible where an echo-web service is provided at each web service host.